home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 10
/
AACD 10.iso
/
AACD
/
System
/
SafeSwitch
/
start.i
< prev
Wrap
Text File
|
2000-05-26
|
1KB
|
33 lines
; Startup-koodi joka vastaa WBStartup-viestiin jos sellainen on
include "dos/dosextens.i"
clr.l -(a7) ; tilaa WBStartup-viestille
movem.l d0/a0,-(a7) ; cmd-line talteen
move.l 4,a6
suba.l a1,a1
jsr _LVOFindTask(a6)
move.l d0,a2
tst.l pr_CLI(a2) ; jos erisuuri kuin nolla on ohjelma
bne.b 10$ ; käynnistetty komentotulkista
lea pr_MsgPort(a2),a0 ; viesti on otettava ennen
jsr _LVOWaitPort(a6) ; ensimmäistä DOS-kutsua
lea pr_MsgPort(a2),a0
jsr _LVOGetMsg(a6)
move.l d0,8(a7) ; WBStartup-viesti talteen
10$ movem.l (a7)+,d0/a0 ; cmd-line takaisin
move.l (a7),d1 ; WBstartup-viesti d1:een (tai 0)
bsr init ; kutsutaan omaa ohjelmaamme
move.l d0,d3 ; paluukoodi talteen
move.l (a7)+,d2 ; WBStartup-viesti takaisin
beq.b 20$
jsr _LVOForbid(a6)
move.l d2,a1
jsr _LVOReplyMsg(a6) ; vastataan viestiin
20$ move.l d3,d0
rts